package com.ning.parking.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ning.parking.domain.ParkingLotDrivewayInfo;
import com.scsonic.common.enums.StatusEnum;
import com.scsonic.common.enums.parklot.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 停车场基础信息表
 * @TableName parking_lot_base_info
 */
@Data
public class ParkingLotBaseInfoDto extends PageBase{

    /**
     * 停车场id
     */
    private Long parkingLotId;

    /**
     * 停车场名称
     */
    private String parkingLotName;

    /**
     * 停车场简称
     */
    private String shortName;

    /**
     * 停车场编码
     */
    private String parkingLotCode;

    /**
     * 停车场类型 1 普通停车场 2 嵌套停车场 3 平行停车场
     */
    private ParkingLotTypeEnum parkingLotType;

    /**
     * 是否为子场 0 否 1 是
     */
    private StatusEnum subFlag;

    /**
     * 父场停车场ID
     */
    private Long parentId;

    /**
     * 省份
     */
    private String province;

    /**
     * 省份code
     */
    private String provinceCode;

    /**
     * 城市
     */
    private String city;

    /**
     * 城市code
     */
    private String cityCode;

    /**
     * 区县
     */
    private String county;

    /**
     * 区县code
     */
    private String countyCode;

    /**
     * 停车场详细地址
     */
    private String address;

    /**
     * 首字母拼音, 用于字母搜索排序
     */
    private String initialCode;

    /**
     * 所属机构ID
     */
    private Long orgId;

    /**
     * 所属机构CODE
     */
    private String orgCode;

    /**
     * 经营状态 1:待建 2:施工 3:运营 4:故障 5:拆除
     */
    private ParkingLotOperateStatusEnum operateStatus;

    /**
     * 一级业态 1 公建配套、2 商办园区、3 交通枢纽、4 路侧
     */
    private ParkingLotOneBusinessEnum oneBusinessType;

    /**
     * 二级业态 1 医院、2 景区、3 公共、4 住宅、5 商业、6 办公、7 综合体、8 火车站、9 机场、10 路侧
     */
    private ParkingLotTwoBusinessEnum twoBusinessType;

    /**
     * 建设时间
     */
    private Date buildDate;

    /**
     * 运营时间
     */
    private Date operateDate;

    /**
     * 合作模式 1 租赁、2 管理、3 BOT、4 资产
     */
    private ParkingLotCooperationEnum cooperationType;

    /**
     * 经度
     */
    private String lon;

    /**
     * 纬度
     */
    private String lat;

    /**
     * 平面照片
     */
    private String planePhotoUrl;

    /**
     * 形象照片
     */
    private String imagePhotoUrl;

    /**
     * 总车位数
     */
    private Integer totalPlaces;

    /**
     * 剩余车位数
     */
    private Integer emptyPlaces;

    /**
     * 临停车位数
     */
    private Integer temPlaces;

    /**
     * 月租车位数
     */
    private Integer monthlyPlaces;

    /**
     * 新能源车位数
     */
    private Integer newEnergyPlaces;

    /**
     * 预约车位数
     */
    private Integer appointPlaces;

    /**
     * 无障碍车位数
     */
    private Integer accessiblePlaces;

    /**
     * 维护状态 0 待配置 1 未完成 2 已完成
     */
    private ParkingLotConfigStatusEnum configStatus;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 删除标记
     */
    private Byte delFlag;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private List<ParkingLotDrivewayInfo> parkingLotDrivewayInfos;

}